package com.starleague.game.android;

import com.starleague.common.IVisitor;
import com.starleague.game.AbstractPlayer;

public class AndroidPlayer
        extends AbstractPlayer
{
    private int hp;
    private int mp;

    public AndroidPlayer(String name,
                         int hp,
                         int mp)
    {
        super(null, name);
        this.hp = hp;
        this.mp = mp;
    }

    protected AndroidPlayer()
    {
        // For Serialization only
    }

    // @Override
    // public void addObserver(Observer observer)
    // {
    // this.observable.addObserver(observer);
    // }
    //
    // @Override
    // public void removeObserver(Observer observer)
    // {
    // this.observable.deleteObserver(observer);
    // }
    //
    //
    // private final Observable observable = new SimpleObservable();
    //

    // public int getHp()
    // {
    // return this.hp;
    // }
    //
    // public void setHp(int hp)
    // {
    // this.hp = hp;
    // }
    //
    // public int getMp()
    // {
    // return this.mp;
    // }
    //
    // public void setMp(int mp)
    // {
    // this.mp = mp;
    // }

    // @Override
    // public void addObserver(Observer observer)
    // {
    // this.observable.addObserver(observer);
    // }
    //
    // @Override
    // public void deleteObserver(Observer observer)
    // {
    // this.observable.deleteObserver(observer);
    // }
    //
    // @Override
    // public void notifyObservers()
    // {
    // this.observable.notifyObservers();
    // }
    //
    @Override
    public void accept(IVisitor visitor)
    {
        super.accept(visitor);
        visitor.visit("hp", Integer.valueOf(this.hp));
        visitor.visit("mp", Integer.valueOf(this.mp));
    }
}
